System and method for benchmarking location determining systems

ABSTRACT

Systems, methods, and software are described for benchmarking the location determination capabilities of a wireless communications network. A mobile communications device is configured to receive data identifying a reference location for the device. A communications network, communicatively coupled with the mobile communications device, calculates a computed location for the device using an alternative location determination technique. The reference location and computed location may be determined for any number of additional devices, as well. The accuracy and reliability of a system may then be assessed by comparing one or more computed locations with associated reference locations. The latency attributable to the calculation of one or more computed locations may also be determined.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/371,330, filed on Feb. 13, 2009, which is a continuation of U.S.patent application Ser. No. 11/464,730, filed on Aug. 15, 2006, issuedas U.S. Pat. No. 7,529,236, which are hereby incorporated by reference,as if set forth in full in this document, for all purposes.

FIELD OF THE INVENTION

The present invention relates to wireless communications in general and,in particular, to testing location determination capabilities.

BACKGROUND OF THE INVENTION

Over the past decade, while the cost of wireless communicationstechnology has dropped, performance increased substantially, leading towidely increased use of wireless devices. Location determinationtechnologies, including the use of global positioning satellites(“GPS”), have evolved, as well. Thus, as use of mobile devices hasgrown, so has the importance of accurate location determinationcapabilities. For example, emergency service providers may betteridentify the location of an emergency when this technology is integratedinto mobile devices reporting the emergency. A number of additional usesfor location determination capabilities have arisen, as well.

A response to this evolving landscape was the Wireless Communicationsand Public Safety Act of 1999 (“911 Act”). One purpose of the 911 Actwas to enhance public safety by encouraging and facilitating the promptdeployment of a nationwide communications infrastructure for emergencyservices that includes wireless communications. The FederalCommunications Commission (“FCC”) adopted certain rules to implementprovisions of the Act, including rules requiring certain levels ofaccuracy and reliability.

Drive test systems are a tool used by communications service providersto measure performance, and may be employed to verify whether locationdetermination capabilities are accurate and comply with FCCrequirements. Drive test systems, as the name implies, are tools thatcharacterize the performance of a system by driving around andperforming test measurements from different locations. Such systems mayrely on a technician or other professional to drive to differentcoverage areas, perhaps with bulky equipment including speciallyconfigured laptops and other hardware.

A limitation of this approach is that it generally requires a person todrive around and make the measurements. This often entails the use ofexpensive electronic equipment, costs associated with the vehicle, andpersonnel costs for the measurement technician. There are some drivetest solutions where the measurement is done automatically, requiringless administration by a technician. Such systems are often dubbed“unattended” systems, while systems requiring professional, ongoingmeasurement are often referred to as “attended” systems. Unattendedsystems are typically associated with a permanent location.

Nonetheless, there are certain inherent limitations associated with“drive test” solutions. Because of costs, measurement is oftengeographically limited to major markets and roads, and measurements areonly taken at certain times. It would be desirable to create solutionsthat address the inherent limitations associated with drive testing,while continuing to measure the location determination capabilities of awireless service provider at a variety of locations.

BRIEF SUMMARY OF THE INVENTION

Systems, methods, and software are described for benchmarking thelocation determination capabilities of a wireless communicationsnetwork. In one exemplary embodiment, a mobile communications devicereceives data identifying a reference location for that device. Acommunications network, communicatively coupled with the mobilecommunications device, calculates a computed location of the deviceusing an alternative location determination technique. The reference andcomputed locations may then be determined for a number of additionaldevices. The accuracy of the computed location is then determined bycomparing such measurements with the reference locations.

One set of exemplary embodiments comprises systems for benchmarkinglocation determination capabilities for one or more mobilecommunications devices. In one embodiment, a device is configured toreceive a first set of data identifying the location of the device, andthe location is identified with a first technique. The device generatesa second set of data formatted to trigger a communications network toidentify the location of the device using a second technique. The devicetransmits one or more communications signals comprising the first set ofdata and the second set of data. The device is configured to generateand transmit the data during regular and customary use of the device bya user who regularly and customarily uses the device primarily forpurposes of voice or data communication.

The communications network is configured to receive the second set ofdata, thereby triggering the network to calculate the location of thedevice using the second technique. The network then generates a thirdset of data representative of the location identified using the secondtechnique. A location processing server is configured to store at leasta subset of the first set of data and the third set of data in a datastore associated with the location processing server.

The device, in one embodiment, analyzes the first set of dataidentifying the location of the device to determine whether it meets orexceeds a threshold accuracy metric before triggering the networkcalculation. The device is further configured to trigger the network toidentify the location of the device at certain variable intervalscorresponding to the earlier of a time interval metric and a distancemovement metric. The mobile communications device may be configured totrigger the network calculation by making a test call to either theemergency number (e.g., 911) or a special test number, and the networkis triggered without notifying a public safety answering point. Inanother embodiment, the network location calculation is triggered by aapplication that is running on the device.

In one embodiment, the device receives GPS coordinates from a number ofGPS satellites, while the second technique, performed by the network,comprises assisted GPS. In an alternative embodiment, the secondtechnique instead comprises a Time Difference Of Arrival (“TDOA”)technique. The location processing server is configured to associate thefirst set of data and the third set of data to identify accuracy of thecalculated location, and a period of latency attributable to thecalculated location. The first set of data and the third set of datarepresent a location of the device at a substantially same time.

An alternative set of exemplary embodiments comprises methods ofbenchmarking location determination capabilities with a mobilecommunications device. In one embodiment, a first set of dataidentifying the location of the device is received, the locationidentified with a first technique. A second set of data associated withthe first set is generated, the second set formatted to trigger acommunications network to calculate location of the device using asecond technique. One or more communications signals comprising thefirst set of data and the second set of data are then transmitted. Thismethod may be implemented on a computer readable medium as a computerprogram comprising instructions executable by a mobile communicationsdevice.

In one embodiment, the first set of data is analyzed to determine thatthe location information is above a threshold accuracy level beforetriggering the network. There may be a variable interval betweentransmissions of the second set of data to trigger the networkcalculations, the interval corresponding to a time interval, a distancemovement metric, a location metric, or any combination thereof. A numberof alternative location determination techniques may be used.

Still another set of exemplary embodiments comprises methods ofbenchmarking location determination capabilities in a wirelesscommunications network. A first set of data identifying a referencelocation of the device is received from the device, the referencelocation identified with a first technique. A second set of dataidentifying a computed location of the device is received from acommunications network, the computed location calculated by thecommunications network using a second technique. The first set of dataand second set of data each represent a location of the device at asubstantially same time, and these measurements may be associated witheach other and stored.

An accuracy, latency period, and yield attributable to the computedlocation is made by comparing the first set of data and the second setof data, and their associated timestamps. The reference location andcomputed location may be determined for a number of additional devices,and this data may be used in determining accuracy, latency period, andyield. A test call may be received from the mobile communications deviceto trigger the communications network to generate the second set ofdata. The test call may be identified as a test, and therebynotification to the public safety answering point may be omitted aboutthe test call based at least in part on the identifying step.

In one embodiment, a summarized report of the determined accuracy of thesecond technique is provided. This report may be provided for a subsetof the associated sets of data and may be provided on an interface thatis accessed from and distributed to a remote location. The report may beimage data comprising a map illustrating an accuracy metric associatedwith at least a subset of the computed locations. Different locationsmay be weighted differently in determining the accuracy of the secondtechnique.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of the presentinvention may be realized by reference to the following drawings. In theappended figures, similar components or features may have the samereference label. Further, various components of the same type may bedistinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If only the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

FIG. 1 is a block diagram illustrating a system for benchmarkinglocation determination capabilities of a wireless communicationsnetwork, according to various embodiments of the present invention.

FIG. 2 is a block diagram illustrating a system for benchmarking a timedifference of arrival technique for locating a mobile communicationsdevice in a communications network, according to various embodiments ofthe present invention.

FIG. 3 is a block diagram illustrating a system for benchmarking anassisted GPS technique for locating a mobile communications device in acommunications network, according to various embodiments of the presentinvention.

FIG. 4 is a block diagram illustrating a software module of a mobilecommunications device for a system of benchmarking locationdetermination capabilities, according to various embodiments of thepresent invention.

FIG. 5 represents an example of image data illustrating the accuracy ofcomputed location data, according to various embodiments of the presentinvention.

FIG. 6 represents an example of an interface showing a tableillustrating reference location measurements and computed locationmeasurements, according to various embodiments of the present invention.

FIGS. 7A and 7B represent examples of interfaces each showing a tableillustrating the accuracy of computed location data, according tovarious embodiments of the present invention.

FIG. 8 illustrates a method of benchmarking location determinationcapabilities from a mobile communications device, according to variousembodiments of the present invention.

FIG. 9 illustrates an alternative method of benchmarking locationdetermination capabilities from a mobile communications device,according to various embodiments of the present invention.

FIG. 10 illustrates a method of benchmarking location determinationcapabilities of a communications network, according to variousembodiments of the present invention.

FIG. 11 illustrates an alternative method of benchmarking locationdetermination capabilities of a communications network, according tovarious embodiments of the present invention.

FIG. 12 is a schematic diagram that illustrates a representative devicestructure that may be used in various embodiments of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

Various embodiments of the present invention comprise systems, methods,and software for measuring location determination capabilities in awireless communications network. A reference location and a computedlocation are captured passively for actual user devices as they go abouttheir regular activity. Mobile phones, or other communications devices,may be configured to receive reference location data and trigger thenetwork to compute their location. The different sets of collected datamay be transmitted to a database, and be parsed and displayed in avariety of different ways. Location determination metrics are,therefore, not limited to major markets or roads, and instead may becollected in other locations where users use their devices. The locationdata may, thus, be collected in real time over real world routes andusage scenarios.

This description provides exemplary embodiments only, and is notintended to limit the scope, applicability or configuration of theinvention. Rather, the ensuing description of the embodiments willprovide those skilled in the art with an enabling description forimplementing embodiments of the invention. Various changes may be madein the function and arrangement of elements without departing from thespirit and scope of the invention as set forth in the appended claims.

Thus, various embodiments may omit, substitute, or add variousprocedures or components as appropriate. For instance, it should beappreciated that in alternative embodiments, the methods may beperformed in an order different than that described, and that varioussteps may be added, omitted or combined. Also, features described withrespect to certain embodiments may be combined in various otherembodiments. Different aspects and elements of the embodiments may becombined in a similar manner.

It should also be appreciated that the following systems, methods, andsoftware may be a component of a larger system, wherein other proceduresmay take precedence over or otherwise modify their application. Also, anumber of steps may be required before, after, or concurrently with thefollowing embodiments.

FIG. 1 illustrates an exemplary embodiment of the invention, comprisinga system 100 for benchmarking location determination capabilities of acommunications network. This embodiment includes a mobile communicationsdevice 105 in communication with the communications network 110. Thedevice 105 is configured to receive a first set of location based dataidentifying location of the device. This first set of data identifies alocation which may be referred to elsewhere herein as the referencelocation. The device 105 may be directly or indirectly coupled with areceiver component which enables the reception of location based data.

In one embodiment, the location based data comprises GPS coordinatedata, along with a timestamp and a number of satellites used. As theterm is used herein, location based data may, alternatively, be in theform of other satellite location information, cellular locationinformation, network analysis of location information, locationinformation specific to a building, or other means for locationdetermination. The data may be received by hardware configured toreceive the set of data identifying the location of the device. Thereceiver may be coupled with the device 105 in any suitable manner knownin the art. By way of example, it may be an integrated component or maybe a stand alone receiver otherwise communicating with the device 105.In some embodiments, the hardware may be removable from the device(e.g., a GPS receiver communicatively coupled with the Device 105 with aUSB or bluetooth connection). In other embodiments, the hardwareconfigured to receive the set of data identifying the location of thedevice 105 may comprise other GPS receiver configurations. A receivermay, alternatively, comprise any other combination of hardware andsoftware to achieve the functionality described above.

The device 105 may be a cellular phone, a VoIP phone, a personal digitalassistant, a pager, a text messaging device, a laptop, a portabledigital music player, a two-way radio, any mobile phone or otherwireless device that communicates data signals, voice or other audiosignals, or any combination of the foregoing. In one embodiment, thedevice 105 is a phone being used for voice calls by an actual user,wherein the location based data is being captured passively by thedevice 105 as the user acts as a passive agent while going about his orher regular use. The location based data may be received during theregular and customary usage of a phone or other device, and may occurwhile a consumer uses the phone or other device for purposes of voicecommunication. This received location based data may be stored on atemporary or more permanent basis on the storage medium of the device105, and in certain circumstances transmitted as payload of a datapacket (e.g., via GSM, GPRS, EDGE, UMTS, CDMA 1xRTT, EvDO, WiFi, WiMax,SMS, etc.) to a location processing server 115 (perhaps via thecommunications network 110).

The device 105 may be configured to analyze the location based data todetermine whether it meets or exceeds a threshold accuracy. For example,the device may include a logic module configured to read and cache GPScoordinate data to determine whether an accurate reference location maybe determined. The threshold accuracy level may be predetermined in thelogic module, or may be configured by a user or communications network.The threshold accuracy may also be identified by the communicationsnetwork 105. In this set of embodiments, if the threshold accuracy levelis reached, the device 105 may proceed to trigger the communicationsnetwork 110 to calculate a computed location of the device. Therefore,based at least in part on the threshold accuracy determination, thedevice 105 may automatically generate a set of data formatted to triggerthe communications network 110 to identify the location of the deviceusing a second technique. This generated set of data may comprise a testtelephone number or other communications address. Alternatively, it maycomprise a data message configured to initiate a test call from thedevice. In still other embodiments, it comprises payload of a datapacket to be transmitted to the communications network to trigger thecommunications network 110 to perform secondary location calculations.

Regardless of the type of generated data (which may also be referred toherein as “triggering data”), the device 105 transmits at least a subsetof this data to the communications network 110. The transmission maycomprise a test call to a test telephone number configured by a serviceprovider to trigger the communications network 110 to calculate locationof the device using a second technique without notifying a public safetyanswering point (“PSAP”). Alternatively, the transmission may comprise atest call to an emergency number (e.g., 911) configured by a serviceprovider to trigger the location calculation using the second techniquewithout notifying a PSAP (or, perhaps, simply notifying the PSAP thatthe call is a test). This latter configuration, wherein a call to anemergency number does not falsely alert the PSAP, is possible byincluding certain data in the transmission or having a PSAP recognizecertain numbers as test numbers. In still other embodiments, the devicemay transmit the generated data as payload of a data packet transmittedto the communications network 110 (e.g., via GSM, GPRS, EDGE, UMTS, CDMA1xRTT, EvDO, WiFi, WiMax, SMS, etc.). In addition to transmitting thegenerated data, the device also transmits at least a subset of thereceived location based data (i.e., the reference location data). Thereference location data may be transmitted with the triggering data, ormay be cached and/or otherwise transmitted (as a single reading, or in acompiled fashion), through to the location processing server 115.

The communications network 110, in one embodiment, comprises a wirelesstelecommunications network operated by one, or more, communicationsservice providers. For example, a wireless network may include any ofthe variety of known modes of wireless or mobile voice communications.Exemplary cellular systems include, but are not limited to, TDMA, CDMA,WCDMA, UMTS and GSM systems. Other exemplary cellular systems includesystems known in the art as 3G systems. The communications network 110is not, however, limited to cellular networks, and may comprise anynetwork with two or more computing device exchange communication signals(e.g., a VoIP network). Therefore, a network 110 may comprise any typeof wireless (e.g., a WiFi connection) voice service that is providedover a data network (e.g., an Internet Protocol based network). The termVoIP is intended to be interpreted broadly to include any system whereina voice signal is converted into a digital signal that travels over adata network. VoIP also includes any system wherein a digital signalfrom a data network is delivered to a phone or other mobile voicecommunications device, where it is converted into an audio signal.

Upon receiving the triggering signal from the device 105, thecommunications network 110 calculates the location of the device 105using a second technique. This location may be referred to elsewhereherein as the computed location. Wireless telecommunications carriersmay employ a variety of techniques of locating cellular telephones andother mobile computing devices. By way of example, service providers mayuse base station and other cellular towers for various time differenceof arrival (“TDOA”), time of arrival (“TOA”), angle of arrival (“AOA”),RF Fingerprinting, location pattern matching methods, and combinationmethods. These methods may include modified, or unmodified, device 105configurations.

Alternatively, a service provider may use assisted GPS (“A-GPS”),wherein the device receiver, and an assistance server located in (orotherwise communicating with) the network 110, share processing tasks.With A-GPS, the process is often quicker and can save power on thedevice 105, as the assistance server may have computing capabilities farbeyond that of the GPS receiver at the device. As used herein, the termA-GPS describes a system where a server, such as assistance server,assists an A-GPS receiver in performing range measurements and positionsolutions. The assistance server may also be configured to accessinformation from the network 110, and communicate with the device 105via the network 110.

While the communications network 110 may identify the location of thedevice using the above methods, the network identification may be basedon other types of location based data, as well. For example, the abovetechniques may be used in conjunction with other input from additionalsources (e.g., the device itself). Also, there may be additional methodsof triangulation or other location identification using cellular towersor access points (e.g., WiFi access points identifying the location of aVoIP device). The location based information may include altitudeinformation also. Cellular carriers and other service providers may,therefore, employ a variety of ways of locating cellular telephones andother mobile computing devices. Additionally, any combination of theabove may be used, as well. It is anticipated that location technologieswill evolve, and the set of technologies that may be used by acommunications network 110 to identify location of a device 105 shouldbe interpreted to include new forms of network based locationidentification.

Once the communications network 110 has identified the location of thedevice 105 using the second technique, it generates a set of datarepresentative of the location. This may, for example, include latitudeand longitude readings, or other location identification as known in theart. As noted above, this set of data identifies a location which may bereferred to elsewhere herein as the computed location. In thisembodiment, the reference location and computed location identify thelocation of the device 105 at a substantially same time.

The system 100 also includes a location processing server 115, which mayinclude, for example, one or more suitable computing devices such asserver computers, personal computers, workstations, web servers, orother such devices. One or more of such devices that collectivelycomprise the location processing server 115 also comprise softwareelements including an operating system and other programs/code. Thelocation processing server 115 includes application software thatprograms the server system 115 to perform one or more functionsaccording to the present invention. For example, application softwareresident on the location processing server 115 may be executable toreceive, analyze, store, or transmit reference and computed locationdata from a device 105 or network 110. The location processing server115 may be an integrated part of the communications network 110, or beseparate.

The location processing server 115 is in direct or indirectcommunication with the network 110, and is further in communication withthe device 105 (via the network 110, or otherwise). The locationprocessing server 115 receives the location based data which is receivedand transmitted by the device 105 (i.e., the reference location data).This reference location data may be received with an identifier, such asa telephone number, a timestamp, a dialed telephone number, a cellidentification number, and any combination thereof. This identifier maybe appended to the reference location data when transmitted by thedevice 105. The location processing server 115 also receives thelocation based data generated and transmitted by the network 110 (i.e.,the computed location data). This computed location data may be underthe control of a service provider, and may be received by the locationprocessing server 115 with an appended identifier (i.e., a telephonenumber, a timestamp, a dialed telephone number, a cell identificationnumber, or any combination thereof). This identifier may first begenerated by the device 105 and transmitted to the network 110 with thetriggering communications signal. It may then be appended to thecomputed location data when that data is transmitted by the network 110.Thus, the location processing server 115 is configured to correlate thereference location data received from the device with the computedlocation data received from the communications network.

In one set of embodiments, different combinations of the reference andcomputed location based data may be received, analyzed, stored, ortransmitted by the location processing server 115. The locationprocessing server 115 may be configured, in coordination with the datastore 120, to aggregate data records, tag each call record withadditional reference data (test location and cluster tag), filter testcall records, and generate performance reports.

The data may, thus, be organized according to cluster or griddefinitions and cell coverage areas. The location processing server 115may create reports detailing various call volumes, which may beorganized as raw or weighted accuracy reports and summaries. In oneembodiment, the image data illustrating a map is created, with agraphical representation of the accuracy (i.e., difference in computedvs. reference location) of one or more devices 105. In anotherembodiment, the location processing server 115 may create or transmit atable illustrating the accuracy for one or more devices 105 at variouslocations. In yet another embodiment, the system determines a pluralityof geographic regions defining certain locations, and displays a tablewith different combinations of measurements associated with thoselocations and regions.

Information may be retrieved from, or stored, in a data store 120 incommunication with the location processing server. Information (such astables, image data, or consolidated data) created by the locationprocessing server 115 may be transmitted over a network such as theInternet to a desktop computer or other workstation, where carriers,enterprises, or other users may access the information. It will beapparent to those skilled in the art that substantial variations may beimplemented in accordance with the specific requirements of thedifferent embodiments. The location processing server 115 may be fullylocated within a single facility or distributed geographically, in whichcase a network (such as the communications network 110) may be used tointegrate different components of the server 115.

The data store 120 may comprise a single database or may comprise anynumber of separate and distinct databases. The data store 120 maycomprise one, or more, relational databases or components of relationaldatabases (e.g., tables), object databases or components of objectdatabases, spreadsheets, text files, internal software lists, or anyother type of data structure suitable for storing data. Thus, it shouldbe appreciated that data store 120 may be multiple data storages (of thesame or different type), or may share a common data storage with otherdata stores. The data store 120 may contain any reference or computedlocation data and information related thereto, the times or time periodsof the data points or measures, various identifiers of the data, andgeographic region data. The data store 120 may also contain user anddevice 105 related information (e.g., MAC address, IP address, phonenumber, IMSI, or IMEI), and service provider information (e.g., serviceprovider, system carrier, or network carrier). The data store 120 mayinclude any number of tables and sets of tables. Application softwarerunning on the location processing server 115 queries the data store120, and produces forms, reports, tables, images or other output asdictated by the application software.

The data store 120 may be incorporated within the location processingserver 115 (e.g., within its storage media), or may be a part of aseparate system otherwise associated with the server 115. The data store120 may be fully located within a single facility or distributedgeographically. The data store 120 may be organized in any mannerdifferent than described above to provide the functionality called forby the various embodiments, as known by those skilled in the art.

According to one embodiment, the data store 120 includes an electronicmap database, providing data related to streets, buildings, malls,parks, lakes, rivers, mountains, and other related geographic andtopographic information. This information may be configured to becorrelated against coordinates that are produced with reference andcomputed location data received by the location processing server 115.Tables may be comprised of data on large geographic areas, such ascountries, states, and counties. Tables may also be comprised of smallergeographic areas, such as urban areas, cities, communities, and thelike. Different sizes, shapes, colors, dots, icons, and fonts may beused to indicate different features. The content of the electronic mapdatabase may include any combination of the aforementioned attributesand information. The design and organization of the aforementionedtables is discretionary and within the skill of those of ordinary skillin the art, given the descriptions of data fields herein.

Various components of the system 100 may be connected via anycombination of the following: the Internet, an IP network, an intranet,a wide-area network (“WAN”), a local-area network (“LAN”), a virtualprivate network, the Public Switched Telephone Network (“PSTN”) or anyother type of network supporting communication between devices describedherein, in different embodiments. There may be both wired and wirelessconnections, including optical links. Many other examples are possibleand apparent to those skilled in the art in light of this disclosure. Inthe discussion, the connections may or may not be noted specifically.

Turning to FIG. 2, an exemplary telecommunications system 200 isillustrated. The system 200 comprises an exemplary embodiment of thesystem 100 described in relation to FIG. 1. The embodiment illustratedin FIG. 2 includes a set of GPS satellites 205. Exemplary devices,including a PDA 105-a and cell phone 105-b, receive GPS coordinate data210 from the GPS satellites 205 (e.g., via a GPS receiver that iscoupled with or otherwise integrated into the device). This received GPScoordinate data 210 comprises the reference location data in thisembodiment. This GPS coordinate data 210, and associated identifiers, istransmitted in a communications signal through the network 110 to thelocation processing server 115. In this embodiment, the network includesthe location processing server 115 and data store 120.

When a device 105 determines that it has received GPS coordinate datathat exceeds a certain accuracy threshold, the device in this embodimentmakes a test call to a telephone number in the communications network110. The telephone number is configured by a service provider to triggerthe network 110 to identify the location of the device using a timedifference of arrival (“TDOA”) analysis. The techniques are typicallybased on estimating the difference in the arrival times of one or moresignals 215 from the source (e.g., a device 105) at multiple receivers(e.g., base stations 225). This may be accomplished by analyzing thesignals 215 at one or more synchronized time periods at different basestations 225. The cross-correlation of the two or more versions of asignal 215 at different base stations 225 is done, which gives the timedifference for the signal 215 arrival at those base stations 225. Aparticular value of the time difference estimate defines hyperbolasbetween the receivers on which the device may exist. As known in theart, there are a variety of different algorithms that may be employed invarious TDOA systems, any of which may be used in this embodiment.

The communications network 110 routes the computed location data andidentifier to the location processing server 115. The computed locationof a device may then be associated with the appropriate referencelocation by matching identifiers. For example, by matching a timestampfor the reference location data and a timestamp for the triggering setof data, a reference location and computed location may be matched.Alternatively, a telephone number for a device 105 may be used to matcha reference location and computed location, as may a range of othermechanisms known in the art.

Turning to FIG. 3, an alternative exemplary telecommunications system300 is illustrated. The system 300 comprises an exemplary embodiment ofthe system 100 described in relation to FIG. 1. The embodimentillustrated in FIG. 3 again includes a set of GPS satellites 205.Exemplary devices, including a cell phone 105-b and a laptop 105-c,receive GPS coordinate data 210 from the GPS satellites 205 (e.g., via aGPS receiver that is coupled with or otherwise integrated into thedevice). This GPS coordinate data 210 received comprises the referencelocation data. This GPS coordinate data 210 is transmitted in acommunications signal through the network 110 to the location processingserver 115. In other embodiments, the reference data may instead betransmitted over an alternative route (e.g., from a device over theInternet to the location processing server).

A device 105 in this embodiment transmits a payload in a data packet tothe communications network 110, the payload configured to trigger thenetwork 110 to identify the location of the device using an A-GPSanalysis. The techniques for A-GPS are typically based on an assistanceserver 315 receiving GPS data 305 indirectly from GPS satellites 205(e.g., via a Wide Area Reference Network, base stations, or other GPSreceivers). The assistance server 315 processes received GPS data andperforms calculations. For example, the assistance server may identifyprecise GPS satellite orbit and clock information, make initial positionand time estimates, and identify satellite selection, range, andrange-rate information. Upon request, the assistance server 315 providesthe device 105 with “assistance” data including GPS almanac, Ephemeris,Satellite Clock corrections, Acquisition assistance, and Time Code Phasemeasurements.

Using this assistance data, the device 105 may make pseudorangemeasurements and forward this data 310 to a Serving Mobile LocationCenter (SMLC) 320. In one embodiment, the SMLC 320 proceeds to computethe location of the device 105. The SMLC 320 may compute positionsolutions, perhaps leaving the GPS receiver with the sole job ofcollecting pseudo-range measurements, and transmitting such measurements310 to the SMLC 320. The SMLC 320 then calculates a computed position ofa device, and generates a set of data (i.e., computed location data)identifying the location of a device 105. In an alternative embodiment,the assistance server 315 or the SMLC 320 may provide the device 105with enough data to compute its location by itself. The assistanceserver 315 and the SMLC 320 may together comprise a single server, ormay each comprise one or more different servers. As known in the art,there are a variety of different methods that may be employed in variousA-GPS systems, any of which may be used in this embodiment.

The communications network 110 routes the computed location data to thelocation processing server 115. The computed location data for a devicemay then be associated with the appropriate reference location data andstored in the data store. In this embodiment, the location processingserver is connected to the Internet 325, allowing queries and access totables, reports, image data, etc. from a workstation 330 or othercomputing device at a remote location.

FIG. 4 is a block diagram illustrating a set of exemplary softwaremodules 425 providing certain functionality for a mobile communicationsdevice 105 configured according to various embodiments of the invention.In this embodiment, the modules 425 comprise one or more computerprograms embodied on at least one computer readable medium, the one ormore computer programs comprising instructions executable by the mobilecommunications device 105. The device also includes an antenna 430configured to transmit and receive various communications signals.

The location acquisition module 405 in this embodiment acquires GPS datafrom a receiver in communication with the device over a Bluetoothinterface. Data may be acquired at regular intervals (e.g., everysecond). Collected datasets may include latitude and longitude,timestamp, GDOP, quality of the position fix, and number of satellitesused in location determination. The data is forwarded to the logicmodule where it is processed and test call initiation decision is made.In other embodiments, the location acquisition module 405 may beconfigured to receive or process other types of location based data, aswell.

In this embodiment, the logic module 410 determines if the computedlocation data is to be collected (e.g., via a test call). “Readiness”inputs may include a determination that there is adequate signalstrength at the device 105, sufficient accuracy of the position fix, andthat no call is in progress. Thus, if these readiness metrics (which maybe configurable or preset) don't indicate readiness, no test call willproceed.

If the device 105 is ready for location determination benchmarking, thedevice may transmit one or more communications signals to trigger acommunications network to calculate location of the device (i.e., thecomputed location) at variable intervals. For example, the intervals maybe preset time intervals (e.g., every 10 minutes, every hour). The timeintervals may also be configurable, and different time intervals may beset for different times of the day or days of the week. The transmissionmay, alternatively, take place at the end of each call. The intervalsmay be related to distance movement metrics (e.g., transmit triggeringdata every 50 m, or 100 m of movement). The intervals may also betriggered by movement into certain regions (e.g., neighborhoods, cities,freeways, clusters, cells, or other regions). In one embodiment, thereare intervals corresponding to the earlier of a time interval metric anda distance movement metric. Alternatively, the triggering signal may betransmitted from the device at other intervals, for example, at a givenphone status (e.g., low battery), network status (e.g., at given signalstrengths), with certain events (e.g., start-up, making a call, sendingan email, use of certain applications, etc.), or certain altitudes.Thus, different rule sets may be combined (e.g., more frequent readingsin certain regions; or reading every hour, unless distance metrictriggers readings earlier). The reference data need not be transmittedwith the network triggering data, and instead may be consolidated andtransmitted at intervals to maximize power preservation on a device 105.The rules related to the intervals may be stored in the logic module.

At the applicable intervals for a “ready” device, the logic module 410forwards a call initiation request to the auto-caller module 415 withthe applicable GPS data. Subsequently received GPS data records may becached by the logic module 410 for use in mid-call or updated positions.Upon traffic channel assignment, the auto-caller module 415 may beconfigured to request an updated GPS position from the logic module 410for “updated” positions.

The auto-caller module 415 initiates test calls when instructed by theLogic module. Upon successful call setup, the auto-caller module 415collects call specific data, such as Cell ID of the serving cell,control channel (BCCH) and traffic channel, and call setup successindicator. After each successful test call, the auto-caller module 415compiles a record for the test call that includes the test call number,initial and updated GPS reference data, and call setup data. This datais then forwarded to the uploader module 420 that either caches the datarecord or uploads it after each call. In other embodiments, anauto-caller module may instead be configured to initiate the generationand transmission of a data packet with a payload configured to triggerthe communications network to calculate the computed location data.

The data uploader module 420 is configured to obtain data records fromthe auto-caller module 415, and upload data sets to the centralized datastore. In other embodiments, these data records may be transmitted tothe data store with the triggering data. Generally, these programs 425are stored in the storage medium of the device 105. Such software may beinstalled or updated via USB, Bluetooth, Infrared, Network download, orother means known in the art. Thus, in some embodiments, users may loadthe software without provisioning or interaction. Instead, themeasurement and data generation may take place on a standard handset orother mobile device, and then may be sent over a data network. Variousembodiments of the invention comprise a software application that canrun on many wireless networks. In light of this capability, and asdiscussed below, the results may be compiled in a database and allowmulti-carrier benchmarking. Different metrics for different carriers maybe compared over a variety of times and geographic regions.

Although the modules 425 may be instructions embodied in acomputer-readable medium, formatted to be executed by one or moregeneral or application specific processors in the device, the functionsmay also be performed, in whole or in part, in hardware. Thus, thedevice 105 may comprise an Application Specific Integrated Circuit(ASIC) adapted to perform a subset of the applicable functions inhardware. Alternatively, the functions of the presentation instrument100 may be performed by one or more other processing units (or cores),on one or more integrated circuits. In other embodiments, other types ofintegrated circuits may be used (e.g., Structured/Platform ASICs, FieldProgrammable Gate Arrays (FPGAs) and other Semi-Custom ICs), which maybe programmed in any manner known in the art.

According to one set of embodiments of the invention, the data store 120may be accessed remotely (e.g., as illustrated in FIG. 3, wherein aworkstation 325 may access the location processing server 115 via theInternet 320 to query the data store 120), or via a direct connection tothe data store 120. An interface may be used to access the data, and thedata may be parsed in a variety of ways. A user interface may be used tobreak down reference and computed data according to any of thefollowing: ranges of dates, ranges of time, subscribers, classes ofsubscriber, specific handset, device 105 models, carrier, serviceprovider, geographic region, location determination metrics (e.g.,accuracy, latency, or yield), or any combinations or subcombinationsthereof. It is worth noting that data from different carriers and otherservice providers may be collected into one data store in real-time.

Exemplary date filter periods may include: past 24 hours, past 7 days,past month, past 3 months, past 6 months, or specific start and enddates. Exemplary time filter periods may include: past 15 minutes, past30 minutes, past hour, past 3 hours, peak AM, peak PM, off peak AM, offpeak PM, or specific start and end times. Exemplary geographic areas maybe cities, states, or specific sub-regions created in a variety of waysknown in the art. Information may be viewed along various serviceprovider or network metrics. A user interface may also illustratevarious metrics related to coverage over an area with a minimum accuracylevel. The filters and other parameters illustrated in this paragraphare for purposes of example only, and a variety of additional metricsmay be used as is evident to one skilled in the art.

According to some embodiments, the parsed data may be illustrated in atable, or in image data comprising a map of geographic areas ofdifferent sizes. The user interface may be configured to allow a user tocreate the table or map according to the criteria listed above.Different colors or shades of gray may illustrate different levels oflocation accuracy for measurements for certain geographic regions. Invarious embodiments, a map may illustrate major or minor roads, water,or other features. The user interface may control the parameters towhich the map will be drawn. FIG. 5 illustrates an example of such a map500 for a larger region. A legend 505 identifies different levels ofaccuracy associated with different shades, and the map 500 illustratesdifferent individual measurements. In this example, the map 500 isdivided into two clusters: PA0001 at 510-a, and PA0002 at 510-b. Basestations 515 are shown, as well.

As set forth in FIG. 6, the parsed data may be illustrated in a table600. This particular table 600 sets forth a set of accuracymeasurements. In this example, data for each measurement in the tableincludes the called number 605, the UTC time 610, the number ofsatellites visible 615, the reference location data 620, the computedlocation data 625, and an error 630 (illustrating accuracy). Summaryreports may be produced as well. FIG. 7A sets forth an example of such areport 700 for unweighted data. Information is collected relating to agiven cluster 705. The test period duration 710, number of calls 715,and different percentiles 720, 725 are shown in the table as well. FIG.7B sets forth an example of such a report 750 for weighted data. Whendata is weighted, certain geographic measurements at certain times mayhave more, or less, weight based on other collected data. As with theunweighted example, data may be collected relating to a given cluster755. The test period duration 760, number of calls 765, and differentpercentiles 770, 775 are also shown in the table.

As noted above, image data and tables may be broken down to illustratevarious reference and computed location metrics (e.g., accuracy,latency, and yield), different carriers and providers, and differentsubsets of subscribers, various geographic regions, and different timeperiods. Multi-carrier benchmarking is possible, comparing differentproviders over a variety of times, dates, and geographic regions, andaccording to various location determination metrics (e.g., accuracy,latency, and yield). To determine latency, a timestamp associated withone or more reference locations may be compared with a timestamp of theassociated computed locations. Thus, using timestamps in this fashion, atime between the transmission of a test call (or other initiating event)and the computed location determination can be identified. To determineyield, the reference location data may be compared with the computedlocation data. Identifying the instances in which there is no computedlocation data to match reference location data can provide yieldinformation. The reference and computed location data may be used forother purposes, as well.

FIG. 8 sets forth an exemplary embodiment of the invention, illustratinga method 800 of benchmarking location determination capabilities with amobile communications device. At block 805, a first set of dataidentifying the location of a device is received, the locationidentified with a first technique. At block 810, a second set of dataassociated with the first set is generated, the second set formatted totrigger a communications network to calculate location of the deviceusing a second technique. At block 815, one or more communicationssignals comprising the first set of data and the second set of data aretransmitted.

FIG. 9 sets forth an alternative embodiment, illustrating a secondexemplary method 900 of benchmarking location determination capabilitiesfrom a mobile communications device. At block 905, GPS data is receivedand, at block 910, the data is analyzed to determine if it is abovethreshold accuracy level. If not, the process returns to block 905 forfurther GPS data reception at specified intervals. If the threshold ismet, the method moves to a three-way monitoring process at block 915,wherein the earlier of 1) a time metric at block 920, 2) a distancemetric at block 925, or 3) a location metric at block 930 is identified.

Based at least in part on the identification, a set of data associatedwith the GPS data is generated at block 935, the set formatted totrigger a communications network to calculate the location of the deviceusing a second technique. At block 940, communications signals aretransmitted comprising the received GPS data. At block 945, the set ofdata configured to trigger the network calculation is transmitted. Then,the process returns to block 915, where the three-way monitoring processcontinues.

FIG. 10 sets forth an exemplary embodiment of the invention,illustrating a method 1000 of benchmarking location determinationcapabilities of a communications network. At block 1005, a first set ofdata is received from a device identifying a reference location of thedevice, the reference location identified with a first technique. Atblock 1010, a second set of data is received from a communicationsnetwork, identifying a computed location of the device, the computedlocation calculated by the communications network using a secondtechnique. At block 1015, the first set of data is associated with thesecond set of data.

FIG. 11 sets forth an alternative embodiment of the invention,illustrating a second exemplary method 1100 of benchmarking locationdetermination capabilities of a communications network. At block 1105, afirst set of data identifying a timestamp and reference location isreceived from each of a plurality of devices, the reference locationsidentified with a first technique. At block 1110, a second set of dataidentifying a timestamp and computed location for at least a subset ofthe plurality is received, the computed locations calculated by thecommunications network using a second technique.

At block 1115, each second set of data is associated with a selectedfirst set of data, based at least in part on the timestamp, and at block1120 the associated sets of data are stored. A number of determinationsare then made. At block 1125, a latency of the second technique isdetermined by comparing one or more timestamps for the associated setsof data. At block 1130, a yield of the second technique is determined byidentifying unselected first sets of data. At block 1135, accuracy ofthe second technique is determined by comparing locations identified bythe associated sets of data. At block 1140, a summarized accuracy reportis provided, including a table and image data for a cluster, the tableand image data provided on an interface that is accessed from anddistributed to a remote location.

Turning to FIG. 12, a device structure 1200 that may be used for amobile communications device, location processing server, assistanceserver, network device, or other computing device described herein isillustrated with a schematic diagram. This drawing broadly illustrateshow individual system elements of each of the aforementioned devices maybe implemented, whether in a separated or more integrated manner. Theexemplary structure is shown comprised of hardware elements that areelectrically coupled via bus 1205, including processor(s) 1210 (whichmay further comprise a DSP or special-purpose processor), storagedevice(s) 1215, input device(s) 1220, and output device(s) 1225. Thestorage device(s) 1215 may comprise a computer-readable storage mediareader connected to any computer-readable storage medium, thecombination comprehensively representing remote, local, fixed, orremovable storage devices or storage media for temporarily or morepermanently containing computer-readable information. The GPS/OtherLocation Receiver 1050 may comprise any such receiver, whether separateor more integrated, that is configured to receive location based data asdescribed herein. The communications interface 1245 may comprise awired, wireless, or other type of interfacing connection that permitsdata to be exchanged with other devices. The communications interface1245 may permit data to be exchanged with a network.

The structure 1200 may also comprise additional software elements, shownas being currently located within working memory 1230, including anoperating system 1235 and other code 1240, such as programs orapplications designed to implement methods of the invention. It will beapparent to those skilled in the art that substantial variations may beused in accordance with specific requirements. For example, customizedhardware might also be used, or particular elements might be implementedin hardware, software (including portable software, such as applets), orboth.

It should be noted that the systems, methods, and software discussedabove are intended merely to be exemplary in nature. It must be stressedthat various embodiments may omit, substitute, or add various proceduresor components as appropriate. For instance, it should be appreciatedthat in alternative embodiments, the methods may be performed in anorder different than that described, and that various steps may beadded, omitted or combined. Also, features described with respect tocertain embodiments may be combined in various other embodiments.Different aspects and elements of the embodiments may be combined in asimilar manner. Also, it should be emphasized that technology evolvesand, thus, many of the elements are exemplary in nature and should notbe interpreted to limit the scope of the invention.

Specific details are given in the description to provide a thoroughunderstanding of the embodiments. However, it will be understood by oneof ordinary skill in the art that the embodiments may be practicedwithout these specific details. For example, well-known circuits,processes, algorithms, structures, and techniques have been shownwithout unnecessary detail in order to avoid obscuring the embodiments.

Also, it is noted that the embodiments may be described as a processwhich is depicted as a flow chart, a structure diagram, or a blockdiagram. Although they may describe the operations as a sequentialprocess, many of the operations can be performed in parallel orconcurrently. In addition, the order of the operations may bere-arranged. A process is terminated when its operations are completed,but could have additional steps not included in the figure.

Moreover, as disclosed herein, the terms “storage medium” or “storagedevice” may represent one or more devices for storing data, includingread only memory (ROM), random access memory (RAM), magnetic RAM, corememory, magnetic disk storage mediums, optical storage mediums, flashmemory devices or other computer readable mediums for storinginformation. The term “computer-readable medium” includes, but is notlimited to, portable or fixed storage devices, optical storage devices,wireless channels, a sim card, other smart cards, and various othermediums capable of storing, containing or carrying instructions or data.

Furthermore, embodiments may be implemented by hardware, software,firmware, middleware, microcode, hardware description languages, or anycombination thereof. When implemented in software, firmware, middlewareor microcode, the program code or code segments to perform the necessarytasks may be stored in a machine readable medium such as a storagemedium. Processors may perform the necessary tasks.

Having described several embodiments, it will be recognized by those ofskill in the art that various modifications, alternative constructions,and equivalents may be used without departing from the spirit of theinvention. For example, the above elements may merely be a component ofa larger system, wherein other rules may take precedence over orotherwise modify the application of the invention. Also, a number ofsteps may be required before the above elements are considered.Accordingly, the above description should not be taken as limiting thescope of the invention, which is defined in the following claims.

1. A method of associating location data in a communications network,the method comprising: receiving a first set of data related to alocation determined with a first technique; calculating the samelocation using a second technique; generating a second set of datarepresentative of the calculated location using the second technique;and associating at least a subset of the first set of data with thesecond set of data to generate data for the communications network. 2.The method of claim 1, wherein the location is a location of a mobiledevice, and wherein calculating the location using the second techniqueis performed by the mobile device.
 3. The method of claim 1, whereincalculating the location using the second technique is performed by thecommunications network.
 4. The method of claim 1, wherein calculatingthe location using the second technique is performed by a locationserver of a service provider coupled to the communications network. 5.The method of claim 1, wherein the first set of data identifying thelocation comprises GPS coordinate data.
 6. The method of claim 1,wherein the first set of data identifying the location compriseslocation information specific to a current location of a mobile device.7. The method of claim 6, wherein said location information specific toa current location of the mobile communications device is location dataspecific to a building.
 8. The method of claim 1, further comprisingexecuting an application on a mobile device to generate triggering datato trigger identification of the location of the mobile device.
 9. Themethod of claim 1, wherein the second technique comprises one or more ofthe group consisting of assisted GPS, time difference of arrival, timeof arrival, angle of arrival, RF Fingerprinting, and location patternmatching.
 10. The method of claim 1, wherein the second techniquecomprises location identification based on network access points. 11.The method of claim 1, wherein the associating comprises comparing theat least a subset of first set of data and the second set of data, andtheir associated timestamps to determine an accuracy, latency period, oryield attributable to the calculated location using the secondtechnique.
 12. The method of claim 1, further comprising: receiving athird set of data identifying a second location of the device determinedwith said first technique; calculating the second location using saidsecond technique; generating a fourth set of data representative of thecalculated second location using said second technique; associating theat least a subset of the third set of data with the fourth set of datato generate data for a second communications network.
 13. The method ofclaim 1, further comprising: receiving a third set of data identifying asecond location determined with said first technique; calculating thesecond location using said second technique; generating a fourth set ofdata representative of the calculated second location using said secondtechnique; associating the at least a subset of the third set of datawith the fourth set of data to generate data for a second communicationsnetwork.